<?php 

require_once("Model/ModelsInclude.php");

require_once("Layout/header.php");

/*
 * Istanza generica per accesso ad attributi del model.
 */
$c = AziendaRappresentata::getInstance();
define("PARENT_PAGE_NAME","Aziende Rappresentate");
define("PAGE_NAME","Cerca Aziende Rappresentate");
define("PAGE_TITLE","Elenco delle aziende rappresentate trovati");
global $pagesEditLink, $pagesRemoveLink, $pagesSearchLink, $pagesDuplicateLink;

/*
 * Connessione DB.
 */
$db = new DatabaseManager();
$db->Connect();

/*
 * Organizzazione di quali tuple prelevare in base alla ricerca effettuata
 */
$searchRequest = $_GET["searchRequest"];
$searchAttribute = $_GET["searchAttribute"];

/*
 * Organizzazione delle pagine di tuple.
 */
$numPagine = ceil($c->getRecordsNumOfSearchResult($db,$searchAttribute,$searchRequest)/50);

$page = isset($_GET['pagina']) ? $_GET['pagina'] : 0;
if(!($page >= 0 && $page < $numPagine))
    $page = 0;

/*
 * Organizzazione ordinamento delle tuple.
 */
$ordinPagine = isset($_GET['ordinAttr']) ? $_GET['ordinAttr'] : STD_ID;
$ordinDir = isset($_GET['ordinDir']) ? $_GET['ordinDir'] : 0;

$orderBy = "";
if(in_array($ordinPagine, $c->attribNames))//se l'attributo richiesto è esistente
{
	$orderBy = $ordinPagine;
	if($ordinDir == '1')//se è 1 allora è ordine decrescente altrimenti è crescente
		$orderBy .= " DESC";
	else
		$orderBy .= " ASC";
}

/*
 * Raccolta delle tuple secondo le specifiche richieste.
 */
$objsList = $c->searchByParam($db, $searchAttribute, $searchRequest, $page*50, ($page+1)*50, $orderBy);

/*
 * Stampa dell'header della pagina
 */
printHeader(PAGE_NAME, PAGE_TITLE, $c);

/*
 * Box di help
 */
LayoutUtils::printPageListHelpBox();

/*
 * Box dell'ordinamento
 */
LayoutUtils::printPageListSortingBox($c, $pagesSearchLink[PARENT_PAGE_NAME],
		$ordinPagine, $ordinDir, $searchAttribute, $searchRequest);

/*
 * Contenuto della pagina
 */
LayoutUtils::printListPage($db, $c, $objsList,
		$pagesSearchLink[PARENT_PAGE_NAME], $pagesEditLink[PARENT_PAGE_NAME],
		$pagesRemoveLink[PARENT_PAGE_NAME], $pagesDuplicateLink[PARENT_PAGE_NAME],
		$ordinPagine, $ordinDir, $page, $numPagine,
			$searchAttribute, $searchRequest);

include("Layout/footer.php");

?>
